﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using RegistroMascotas.Modelo;
using Data;
using Service;

namespace RegistroMascotas2
{
    public partial class login_municipio_modificar : System.Web.UI.Page
    {
        private Centro _miCentro = null;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string path = "";
                cuentacentro.Visible = true;
                cuentader.Visible = true;

                try
                {
                    _miCentro = (Centro)PersonaDAO.traerDatosUsuario(User.Identity.Name);

                    datos_razon.Text = _miCentro.Nombre;
                    input_domicilio.Text = _miCentro.Direccion;
                    input_telefono.Text = _miCentro.Telefono.ToString();
                    datos_cuit.Text = _miCentro.Cuit.ToString();
                    datos_usuario.Text = _miCentro.Usuario;
                    input_contraseña.Text = _miCentro.Contraseña;
                    input_contraseña_2.Text = _miCentro.Contraseña;

                    input_contraseña.Attributes.Add("value", input_contraseña.Text);
                    input_contraseña_2.Attributes.Add("value", input_contraseña_2.Text);

                    if (_miCentro.Imagen != null)
                    {
                        if (_miCentro.Imagen != String.Empty)
                        {
                            System.Drawing.Image img = Validaciones.StringToImage(_miCentro.Imagen);
                            path = "/temp/" + Guid.NewGuid() + ".jpg";
                            img.Save(Server.MapPath(path));

                            datos_foto.ImageUrl = path;
                        }
                        else
                        {
                            datos_foto.ImageUrl = "imgs/micuenta-imagen.png";
                        }
                    }
                    else
                    {
                        datos_foto.ImageUrl = "imgs/micuenta-imagen.png";
                    }
                }
                catch (Exception ex)
                {
                    cuentacentro.Visible = false;
                    cuentader.Visible = false;
                    lblNotificacion.Text = ex.Message;
                    lblNotificacion.CssClass = "errores";
                }
            }
        }

        protected void btnGuardarCambios_Click(object sender, EventArgs e)
        {
            _miCentro = (Centro)PersonaDAO.traerDatosUsuario(User.Identity.Name);
            string domicilio = _miCentro.Direccion;
            string telefono = _miCentro.Telefono;
            string pass = _miCentro.Contraseña;
            string cadenaImagen = _miCentro.Imagen;
            bool exito = false;

            try
            {

                if (input_telefono.Text != telefono)
                {
                    telefono = input_telefono.Text;
                }

                if (input_domicilio.Text != domicilio)
                {
                    domicilio = input_domicilio.Text;
                }

                if (input_contraseña.Text != pass)
                {
                    pass = input_contraseña.Text;
                }

                if (fuMiCuentaImagen.FileName != "" && fuMiCuentaImagen.FileName != null)
                {
                    if (Validaciones.validarSubidaDeImagen(fuMiCuentaImagen, lblError))
                    {
                        string pathTemporal = Server.MapPath("/temp/" + fuMiCuentaImagen.FileName);
                        fuMiCuentaImagen.SaveAs(pathTemporal);

                        if (cadenaImagen != Validaciones.convertirImagenToString(pathTemporal))
                        {
                            cadenaImagen = Validaciones.convertirImagenToString(pathTemporal);
                        }
                    }
                }

                exito = PersonaDAO.modificarCentro(User.Identity.Name, telefono, domicilio, pass, cadenaImagen);

                if (!exito)
                {
                    throw new Exception("No se pudo modificar los datos del Centro o Zoonosis.");
                }
                else
                {
                    Response.Redirect("~/login-municipio.aspx");
                }
            }
            catch (Exception ex)
            {
                cuentacentro.Visible = false;
                cuentader.Visible = false;
                lblNotificacion.Text = ex.Message;
                lblNotificacion.CssClass = "errores";
            }
        }
    }
}